Ethernet-attached nonvolatile memory express (NVMe) solid state drives (SSDs) (e.g. NVMe over Fabrics (NVMeoF) storage devices) may be used in various applications to store data. With NVMe over Fabrics configurations, optimizing Ethernet and SSD cost-performance may be challenging. For example, Ethernet speed significantly increased with the advent of 50 G/100 G technology, while SSD performance may depend on the peripheral component interconnect express (PCIe) interface and NAND flash technology. Fabric-attached SSDs present additional unique design challenges for supporting erasure code data protection since each device may provide point-to-point connectivity. Having an application specific integrated circuit (ASIC) external to storage devices, such as a controller for a redundant array of independent disks (RAID), e.g., a RAID on chip (ROC), may increase latency and degrade performance.
Some NVMe and NVMe over Fabrics SSDs support single-pathing IO. Some SSDs do support multiple dual pathing IO for higher system availability and improved system fault protection. Such SSDs may however be more costly and may provide slightly inferior performance.
Thus, there is a need for an improved system and method for providing erasure code data protection for an array of SSDs over a data plane, such as Ethernet.